package modelo;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import controlador.BeanDetalle;
import java.sql.PreparedStatement;
import java.sql.ResultSetMetaData;
import javax.swing.JOptionPane;

public class clase_producto extends Conexion{
              static BeanDetalle bDetalle=null;
              static ResultSet rs;
               static ResultSet rs2;
              static String sentencia;
              static Statement st;
              static Statement st2;
              static String id;
              static Object obj[][]=null;
              static String txt;



    public static String getTxt() {
        return txt;
    }
    public static Object[][] getObj() {
        return obj;
    }
    public static String getSentencia() {
        return sentencia;
    }
    public static ResultSet getRs() {
        return rs;
    }
    public static String getCantidad() {
        return bDetalle.getVar_cantidad();
    }
     public static String get_id() {
        return bDetalle.getVar_id();
    }
       public static String get_nombre() {
        return bDetalle.getVar_nombre();
    }
      
         public static String get_precio() {
        return bDetalle.getVar_precio();
    }

      // Continuar con los que faltan
	public static BeanDetalle consultarXnombre(String var_nombre){
		id=var_nombre;
		try{
			Conexion c=new Conexion();
			Connection con=c.getConexion();
			st=con.createStatement();
                        clase_producto clase = new clase_producto();
                        /*
                        CREATE TABLE producto
                        (
                        id varchar(30),
                        nombre varchar(30) NOT NULL,
                        precio varchar(30) NOT NULL,
                        cantidad varchar(30) NOT NULL
                      );
                      * "SELECT * FROM producto WHERE NOMBRE LIKE '%"
                                                                        + nombre
                                                                        + "%'"
                         */  
			clase.rs=st.executeQuery("SELECT * FROM producto WHERE NOMBRE LIKE '%"
                                                                        + var_nombre
                                                                        + "%'");
                        sentencia="SELECT * FROM producto WHERE NOMBRE LIKE '%"
                                                                        + var_nombre
                                                                        + "%'";
                        System.out.println("setencia: "+sentencia);
                        /*BeanDetalle(String var_nombre, String var_codProducto, String var_cantidad, String var_descuento)
                          Importante que la posicion coincida tanto en la posicion del campo que busco como en la creacion del bean*/
			while(rs.next()){
                            System.out.println(var_nombre+"  "+ rs.getString(2)+"  "+ rs.getString(3)+"  "+ rs.getString(4));
				bDetalle=new BeanDetalle(var_nombre, rs.getString(2), rs.getString(3), rs.getString(4));
                                 System.out.println("bDetalle"+bDetalle);
                                // porner un form action solo para nombre con un boton y valla a su propio servlet
                                sentencia=sentencia+"<tr><td>\t"+clase_producto.getRs().getString(1)+"\t</td>\n";
                                sentencia=sentencia+"<form action=\"ser_rellena\" method=\"get\">";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(2)
                                        +"<td colspan=\"2\" align=\"center\"> <td colspan=\"2\" align=\"center\"><input type=\"submit\" "
                                        + "name=\""
                                                + "b_rellena\" "
                                        + "value=\""
                                                + clase_producto.getRs().getString(2)
                                        + "\"></td></td>"+"\t</td>\n";
                                sentencia=sentencia+"</form>";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(3)+"\t</td>\n";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(4)+"\t</td>\n";
//                                sentencia=sentencia+"</form>";
                                /* sentencia=sentencia+"<tr><td>"+"<input type='text' name='nombre1' value='"
                                +clase_detalle.getRs().getString(1)+"' style='width: 50px'/>"+clase_detalle.getRs().getString(1)+"</td>";
                                <span>&nbsp&nbsp&nbsp&nbsp&nbsp</span>*/
			}
                        almacena_rs_array();
		}catch(SQLException se){
			se.printStackTrace();
		}
		return bDetalle;
	}
//..............................................................................
//==============================================================================
        
	public static BeanDetalle rellenaXnombre(String var_nombre){
		//id=var_nombre;
		try{
			Conexion c=new Conexion();
			Connection con=c.getConexion();
			st=con.createStatement();
                        clase_producto clase = new clase_producto();
                        /*
                        CREATE TABLE producto
                        (
                        id varchar(30),
                        nombre varchar(30) NOT NULL,
                        precio varchar(30) NOT NULL,
                        cantidad varchar(30) NOT NULL
                      );
                      * "SELECT * FROM producto WHERE NOMBRE LIKE '%"
                                                                        + nombre
                                                                        + "%'"
                         */  
			clase.rs=st.executeQuery("SELECT * FROM producto WHERE NOMBRE ='"
                                                                        + var_nombre
                                                                        + "'");
                        sentencia="SELECT * FROM producto WHERE NOMBRE ='"
                                                                        + var_nombre
                                                                        + "'";
                        System.out.println("setencia: "+sentencia);
                        /*BeanDetalle(String var_nombre, String var_codProducto, String var_cantidad, String var_descuento)
                          Importante que la posicion coincida tanto en la posicion del campo que busco como en la creacion del bean*/
			while(rs.next()){
                            System.out.println(var_nombre+"  "+ rs.getString(2)+"  "+ rs.getString(3)+"  "+ rs.getString(4));
				bDetalle=new BeanDetalle(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4));
                                 System.out.println("bDetalle"+bDetalle);
                                // porner un form action solo para nombre con un boton y valla a su propio servlet
                                sentencia=sentencia+"<tr><td>\t"+clase_producto.getRs().getString(1)+"\t</td>\n";
                                sentencia=sentencia+"<form action=\"ser_rellena\" method=\"get\">";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(2)
                                        +"<td colspan=\"2\" align=\"center\"> <td colspan=\"2\" align=\"center\"><input type=\"submit\" "
                                        + "name=\""
                                                + "b_rellena\" "
                                        + "value=\""
                                                + clase_producto.getRs().getString(2)
                                        + "\"></td></td>"+"\t</td>\n";
                                sentencia=sentencia+"</form>";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(3)+"\t</td>\n";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(4)+"\t</td>\n";
//                                sentencia=sentencia+"</form>";
                                /* sentencia=sentencia+"<tr><td>"+"<input type='text' name='nombre1' value='"
                                +clase_detalle.getRs().getString(1)+"' style='width: 50px'/>"+clase_detalle.getRs().getString(1)+"</td>";
                                <span>&nbsp&nbsp&nbsp&nbsp&nbsp</span>*/
			}
                        almacena_rs_array();
		}catch(SQLException se){
			se.printStackTrace();
		}
		return bDetalle;
	}
//..............................................................................
  
//==============================================================================
        public static void almacena_rs_array(){
         String var_nombre=get_nombre();
    try{
       Conexion c=new Conexion();
			Connection con=c.getConexion();
			st2=con.createStatement();
                        clase_producto clase = new clase_producto();
                        
       clase.rs2=st2.executeQuery("SELECT * FROM producto"
                                + " WHERE "
                                + "id='"+var_nombre+"'");
  
        int numCols = rs2.getMetaData().getColumnCount();
        int numFils =rs2.getRow();
        obj=new Object[numFils][numCols];
        int j = 0;
        rs2.beforeFirst();
        while (rs2.next()){
            for (int i=0;i<numCols;i++){
                obj[j][i]=rs2.getObject(i+1);
            }

            j++;
        }
     }catch(Exception e){}
        txt=obj.toString();
    
  }
//..............................................................................
        //==============================================================================
       /** Elimina un registro dado su ID -> Clave primaria */
    public static BeanDetalle ModificaProducto( String id, String nombre, String precio, String cantidad){
        		try{
			Conexion c=new Conexion();
			Connection con=c.getConexion();
			st=con.createStatement();
                        clase_producto clase = new clase_producto();
                        /*
                        CREATE TABLE producto
                        (
                        id varchar(30),
                        nombre varchar(30) NOT NULL,
                        precio varchar(30) NOT NULL,
                        cantidad varchar(30) NOT NULL
                      );
                      * "SELECT * FROM producto WHERE NOMBRE LIKE '%"
                                                                        + nombre
                                                                        + "%'"
                         */  
			clase.rs=st.executeQuery("UPDATE PRODUCTO SET ID = '"
                + id
                + "', NOMBRE = '"
                + nombre
                + "', PRECIO = '"
                + precio
                + "', CANTIDAD = '"
                + cantidad
                + "' WHERE ID = '" + id + "' ");
                        sentencia="UPDATE PRODUCTO SET ID = '"
                + id
                + "', NOMBRE = '"
                + nombre
                + "', PRECIO = '"
                + precio
                + "', CANTIDAD = '"
                + cantidad
                + "' WHERE ID = '" + id + "' ";
                        System.out.println("setencia..............: "+sentencia);
                        /*BeanDetalle(String var_nombre, String var_codProducto, String var_cantidad, String var_descuento)
                          Importante que la posicion coincida tanto en la posicion del campo que busco como en la creacion del bean*/
			while(rs.next()){
                            System.out.println(rs.getString(1)+"  "+ rs.getString(2)+"  "+ rs.getString(3)+"  "+ rs.getString(4));
				bDetalle=new BeanDetalle(rs.getString(1), rs.getString(2), rs.getString(3), rs.getString(4));
                                 System.out.println("bDetalle"+bDetalle);
                                // porner un form action solo para nombre con un boton y valla a su propio servlet
                                sentencia=sentencia+"<tr><td>\t"+clase_producto.getRs().getString(1)+"\t</td>\n";
                                sentencia=sentencia+"<form action=\"ser_rellena\" method=\"get\">";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(2)
                                        +"<td colspan=\"2\" align=\"center\"> <td colspan=\"2\" align=\"center\"><input type=\"submit\" "
                                        + "name=\""
                                                + "b_rellena\" "
                                        + "value=\""
                                                + clase_producto.getRs().getString(2)
                                        + "\"></td></td>"+"\t</td>\n";
                                sentencia=sentencia+"</form>";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(3)+"\t</td>\n";
                                sentencia=sentencia+"\t<td>\t"+clase_producto.getRs().getString(4)+"\t</td>\n";
//                                sentencia=sentencia+"</form>";
                                /* sentencia=sentencia+"<tr><td>"+"<input type='text' name='nombre1' value='"
                                +clase_detalle.getRs().getString(1)+"' style='width: 50px'/>"+clase_detalle.getRs().getString(1)+"</td>";
                                <span>&nbsp&nbsp&nbsp&nbsp&nbsp</span>*/
			}
                        almacena_rs_array();
		}catch(SQLException se){
			se.printStackTrace();
		}
		return bDetalle;
    }
//==============================================================================
}
